﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#pragma warning(disable:4996)
////qsort函数原型：
//
////qsort（void* base, size_t num, size_t width, int(__cdecl* compare)(const void*, const void*)）
//
////int cmp(const void* x, const void* y) //整形
////{
////return (*(int*)x) - (*(int*)y);
////}
////
////int cmp1(const void* x, const void* y)   //字符型
////{
////	return (*(char*)x) - (*(char*)y);
////}
////
////int cmp2(const void* x, const void* y)   //字符串
////{
////	return strcmp(*(char**)x, *(char**)y);
////}
////
////int cmp3(const void* x, const void* y)  //浮点型
////{
////	return (*(double*)x) - (*(double*)y);
////}
////
////int main()
////{
////	int i = 0;
////	int arr1[] = { 1, 25, 36, 58, 49, 17, 66, 77, 9 };
////	qsort(arr1, sizeof(arr1) / sizeof(arr1[0]), sizeof(arr1[0]), cmp);
////	for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++) 
////	{
////		printf("%d", arr1[i]);
////	}
////	printf("\n");
////
////	char arr2[] = { 'w', 'h', 'g', 'a', 'f', 'c', 'r', 'u', 't' };
////	qsort(arr2, sizeof(arr2) / sizeof(arr2[0]), sizeof(arr2[0]), cmp1);
////	for (i = 0; i < sizeof(arr2) / sizeof(arr2[0]); i++) {
////		printf("%d", arr2[i]);
////	}
////	printf("\n");
////
////	char* arr3[] = { "asd", "tgb", "ujn", "ghj", "bn" };
////	qsort(arr3, sizeof(arr3) / sizeof(*arr3), sizeof(*arr3), cmp2);
////	for (i = 0; i < sizeof(arr3) / sizeof(*arr3); i++) {
////		printf("%s", arr3[i]);
////	}
////	printf("\n");
////
////	double arr4[] = { 4.1, 5.6, 10.9, 25.4, 22.3, 36.2, 50.1, 55.9, 61.2 };
////	qsort(arr4, sizeof(arr4) / sizeof(arr4[0]), sizeof(arr4[0]), cmp3);
////	for (i = 0; i < sizeof(arr4) / sizeof(arr4[0]); i++) {
////		printf("%f", arr4[i]);
////	}
////	printf("\n");
////	system("pause");
////	return 0;
////}
//struct stu
//{
//    char name[20];//姓名
//    int age;//年龄
//
//};
//int cmp_stu_by_age(const void* e1, const void* e2)
//{
//
//    return ((struct Stu*)e1)->age - ((struct Stu*)e2)->age;
//}
////strcmp - 是库函数，是专⻔⽤来⽐较两个字符串的⼤⼩的
//int cmp_stu_by_name(const void* e1, const void* e2)
//{
//
//    return strcmp( ((struct Stu*)e1)->name , ((struct Stu*)e2)->name);
//}
//
//void test1()//按照年龄来比较
//{
//    struct Stu s[] = { {"zhangsan",20},{"lisi",20},{"wangwu",15} };
//    int sz = sizeof(s) / sizeof(s[0]);
//    qsort(s, sz, sizeof(s[0]), cmp_stu_by_age);
//}
//void test1()//按照名字来比较
//{
//    struct Stu s[] = { {"zhangsan",20},{"lisi",20},{"wangwu",15} };
//    int sz = sizeof(s) / sizeof(s[0]);
//    qsort(s, sz, sizeof(s[0]), cmp_stu_by_name);
//}
//
//int main()
//{
//    test1();
//    test2();
//    return 0;
//}
//一个数组中只有两个数字是出现一次，其他所有数字都出现了两次。
//编写一个函数找出这两个只出现一次的数字。

///例如：
//有数组的元素是：1，2，3，4，5，1，2，3，4，6
//只有5和6只出现1次，要找出5和6.
int main()
{



}